The preferred embodiment concerns a method and a device for transfer of data over a data connection from a sender to a receiver by means of packets. The preferred embodiment in particular concerns such a method for supply of data to a machine (such as, for example, a high-capacity printer) to which a data stream must be supplied on an ongoing basis with high capacity.
There are diverse machines that must be supplied with a large data stream in operation. One such a machine is, for example, a high-capacity printer to which print data must be supplied on an ongoing basis. The capacity of control devices that process a large data stream in order to feed it to a high-capacity printer must be increased on an ongoing basis since an increasingly improved print quality requires an increased data quantity or data set. The transition from black-and-white printing to color printing thus incurs a multiplication of the data quantity. An increase of the resolution also means a multiplication of the data set. Both the requirements for the color and for the resolution continuously increase.
High-capacity printers thus represent machines to which an extraordinarily large data stream must be supplied. Given a printer that, for example, prints 400 DIN A3 pages per minute in black-and-white with a resolution of 600 dpi, a data stream with approximately 560 Mbytes/s is required. The data stream must be supplied to the printer without errors or else expensive waste is produced. The method for transfer of the data must therefore on the one hand be very fast and on the other hand be very reliable.
In “Das Druckerbuch”—Technik und Technologie der Hochleistungsdrucker von Océ Printing Systems GmbH—Drucktechnologien”, Edition 3c, May 1998, ISBN 3-00-001019-X, a control device designated as an “SPA Controller” (SRA: Scalable Raster Architecture) is described for control of a high-capacity printer.
The design of this known control device is schematically shown in FIG. 1. Such a control device 1 comprises an I/O module 2, one or more raster modules 3 and a serializer module 4. The individual modules 2 through 4 are connected with one another via a parallel data bus 5. The raster modules 3 and the serializer module 4 are connected with one another via a further pixel bus 6. A print head of a high-capacity printer 7 is connected to the serializer module 4.
The I/O module 2 receives the print information from a control device that can be a mainframe system or also a computer network. The print information is relayed from the I/O module 2 to the raster modules 3 and the serializer module 4, whereby the raster modules 3 receive the print image information and convert it into a print image data stream that can be processed by the print head 7. These print image data streams are transferred from the raster modules 3 via the pixel bus 6 to the serializer module 4 that strings the data streams in a predetermined order and relays them to the print head 7.
The data bus is, for example, a Multibus II (Multibus is a registered trademark of Intel Corp.). The Multibus II is a synchronized bus that is established in the IEEE Standard for a High Performance Synchronous 32-Bit Bus: Multibus II, The Institute of Electrical and Electronics Engineers, Inc., 345 East 47th Street, NY 10017, USA, 1998. In the following the “MULTIBUS II” is designated in a simplified manner as “Multibus”.
The modules 2 through 4 of the control device 1 are respectively provided with a processor. In systems based on the Multibus, an inter-processor communication occurs via a message exchange (message transfer), whereby messages with data packets with a predetermined length are transmitted for transfer of data.
In WO 00/22537 an electronic control device is described that comprises a parallel data bus and a plurality of modules respectively provided with a processor, and a development of the control device explained using FIG. 1 is presented. The modules communicate via the data bus. The modules respectively comprise a processor and a storage device and are connected with the data bus by means of a bus controller. The data are transferred between sender modules and a receiver module by mans of messages.
This device is characterized in that the bus controller of the sender module is designed such that it reads data stored in the storage device of the sender module without usage of the processor of the sender module for a request message to the receiver module and sends said data to the receiver module. The receiver module thus initiates an automatic transfer due to its request message in the sender module. This leads to a significant unburdening of the sender module since the data can be directly read out significantly more quickly and effectively by means of a DMA controller and the processor is not long occupied by such a data transfer. The “negotiation” described above that comprises three message transmissions (see FIG. 2) in the conventional Multibus is additionally reduced to the transmission of a single request message, whereby a further simplification and acceleration of the transfer procedure is achieved.
In the control devices described above the data are transferred over a parallel data bus, In the past parallel data connections were significantly more reliable and stable than serial data connections with similar transfer capacity. The transfer capacity of parallel data connections could additionally be increased more simply in comparison to serial data connections. There are various industry standards for serial data connection such as, for example, IEEE 802.3-1985 from the year 1985, which describes the 10 Mbyte/s Ethernet standard, IEEE 802.3x-1997 and IEEE 802.3y-1997 from the year 1997 that describe the further development of the IEEE 802.3-1985 standard to 100 Mbyte/s and, for example, IEEE 802.3z-1998 from the year 1998 that represents a further development to 1,000 Mbyte/s.
The transfer capacity of serial data connections has increasingly risen in recent years such that they exceed distinctly parallel data connections with their transfer capacity. Such a typical serial data connection is the USE bus, which is in particular used in the connection between peripheral apparatuses and computers. In usage in industrial applications such as control devices for supply of a large data stream to a print head, such serial data connections were previously not used at all or barely used since they are relatively unstable and the error correction methods hereby used decrease the effective data rate relative to a theoretically-possible data rate such that they appear unsuitable for a continuous usage.
Errors in the data transfer are in particular established by means of what are known as “timeout counters” that measure a certain time span and, when the data transfer has not been successfully executed within this time span, it is restarted. The time span measured by the timeout counter is thus lost for the data transfer. The time span to be set by the timeout counter cannot be arbitrarily shortened because otherwise the danger would exist that, in spite of a correct data transfer, the time span would elapse and the transfer process would be restarted. The use of timeout counters to avoid a malfunction, in particular to avoid what is known as a dead state in which the function of the data transfer completely fails, is therefore principally connected with a significant capacity less when the data connection is not operated almost absolutely without faulty transfer, which is in principle not possible given serial data connections.